#PAGE1======================================================================
# PART1&2

# uname=['oaoajj_@##','56464q42tqga','aqibjo2jto2jtge_','oijla_4','afawfafafaffffffffffffff_632626']
# def check(x):
#     if len(x)<6 or len(x)>18 :
#         return False
#     if x[0] in '0123456789':
#         return False
#     for i in x:
#         if i not in '1235467890zxcvbnmasdfghjklqwertyuiopZXCVBNMASDFGHJKLQWERTYUIOP_':
#             return False
#     return True
#
# print(list(map(check,uname)))
# print(list(filter(check,uname)))

# PART3

# import functools
# while True:
#     times=input("pls input a int:")
#     if times.isdecimal():
#         break
# print(functools.reduce(lambda x,y:x*y,range(1,int(times)+1)))

# PART4

# print(list(filter(lambda x:x%3==0,[i for i in range(1,101)])))

# PART5

# print(list(map(lambda x:x**2,[i for i in range(1,11)])))

# PART6

# import functools
# print(functools.reduce(lambda x,y:str(x)+str(y),[1,2,3,4]))

#PAGE2=======================================================================
# PART1

# lst=[7,-8,5,-1,4,0,-2,-5,10000000000000000000000,0,-4564654]
# print(sorted(list(filter(lambda x:x>0,lst)))+sorted(list(filter(lambda x:x<=0,lst)),reverse=True))

# PART2

# s="asdf234GDSdsf23"
# def word(x):
#     if 97<=ord(x)<=122:
#         return ord(x)-97
#     if 65<=ord(x)<=90:
#         return ord(x)
#     if 48<=ord(x)<=57:
#         if ord(x)%2==0:
#             return ord(x)+90
#         else:
#             return ord(x)+45
# print(list(sorted(s,key=word)))